package processcontrol;

import java.util.Scanner;

/**
 * @author shkstart
 * @date 2022/4/7 - 22:15
 */
/*
① 根据switch表达式中的值，依次匹配各个case中的常量。一旦匹配成功，则进入相应case结构中，
调用其执行语句；当调用完执行语句以后，则仍然继续向下执行其他case结构中的执行语句，
直到遇到break关键字或此switch-case结构末尾结束为止；
② break,可以使用在switch-case结构中，表示一旦执行到此关键字，就跳出switch-case结构；
③ switch结构中的表达式，只能是如下的6种数据类型之一：
byte 、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
④ case 之后只能声明常量。不能声明范围；
⑤ break关键字是可选的；
⑥ default:相当于if-else结构中的else，default结构是可选的，而且位置是灵活的
*/
public class Switch {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入字母(a,b,c,d)中的一个:");
        String word = scan.next();
        char c = word.charAt(0);
        switch (c) {
            case 'a' :
                System.out.println("A");
                break;
            case 'b' :
                System.out.println("B");
                break;
            case 'c' :
                System.out.println("C");
                break;
            case 'd' :
                System.out.println("D");
                break;
            default :
                System.out.println("other");

        }
        int score =  79;
        switch (score / 10) {
            case 0 :
            case 1 :
            case 2 :
            case 3 :
            case 4 :
            case 5 :
                System.out.println("不及格");
                break;
            case 6 :
            case 7 :
            case 8 :
            case 9 :
            case 10 :
                System.out.println("及格");
                break;
        }
//        更优解：
        switch (score / 60 ) {
            case 0 :
                System.out.println("不及格");
            case 1 :
                System.out.println("及格");
        }

    }
}
